﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyKhachHang.BUS;
using QuanLyKhachHang.Utilities;

namespace QuanLyKhachHang.Forms
{
    #region using
    using QuanLyKhachHang.BUS;
    using QuanLyKhachHang.DTO;
    using QuanLyKhachHang.Utilities;
    #endregion

    public partial class frmTTCK : Form
    {
        public frmTTCK()
        {
            InitializeComponent();
        }

        public void LoadDonVi()
        {
            var objBUS = new DonViBUS(GlobalVariables.g_strConnectionString);

            try
            {
                var objDS = objBUS.SelectAll();

                for (int i = 0; i < objDS.Tables["DonVi"].Rows.Count; i++)
                {
                    DataRow row = objDS.Tables["DonVi"].Rows[i];
                    cbxDonVi.Items.Add(new DonViDTO { MADONVI = row["MADONVI"].ToString(), TENDONVI = row["TENDONVI"].ToString() });
                }

                if (cbxDonVi.Items.Count > 0)
                    cbxDonVi.SelectedIndex = 0;
            }
            catch (System.Exception e)
            {
                throw new Exception(e.Message, e.InnerException);
            }
        }

        public bool ValidateInput()
        {
            if (cbxDonVi.Text.Equals(""))
            {
                MessageBox.Show("Bạn chưa chọn đơn vị", "Bao Loi",
                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return false;
            }

            if (txtThang.Text.Equals(""))
            {
                MessageBox.Show("Bạn chưa nhập tháng", "Bao Loi",
                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return false;
            }

            if (txtNam.Text.Equals(""))
            {
                MessageBox.Show("Bạn chưa nhập năm", "Bao Loi",
                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return false;
            }

            if (!Utils.IsNumeric(txtThang.Text))
            {
                MessageBox.Show("Tháng phải là số hợp lệ", "Bao Loi",
                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return false;
            }
            else
            {
                if (int.Parse(txtThang.Text) < 1 || int.Parse(txtThang.Text) > 12)
                {
                    MessageBox.Show("Tháng phải từ 1-12 ", "Bao Loi",
                        MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return false;
                }
            }

            if (!Utils.IsNumeric(txtNam.Text))
            {
                MessageBox.Show("Năm phải là số hợp lệ", "Bao Loi",
                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return false;
            }
            else
            {
                if (int.Parse(txtNam.Text) <= 0)
                {
                    MessageBox.Show("Năm phải từ > 0 ", "Bao Loi",
                        MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return false;
                }
            }

            return true;
        }

        private void btnXem_Click(object sender, EventArgs e)
        {
            if (ValidateInput())
            {
                ListViewItem objListViewItem;
                var objBUS = new TrichThuong_ChietKhauBUS(GlobalVariables.g_strConnectionString);

                try
                {
                    var objDS = objBUS.SelectByDonViThangNam(((DonViDTO)cbxDonVi.SelectedItem).MADONVI, int.Parse(txtThang.Text), int.Parse(txtNam.Text));
                    lstvwDanhSachHienThi.Items.Clear();

                    for (int i = 0; i < objDS.Tables["TrichThuong_ChietKhau"].Rows.Count; i++)
                    {
                        objListViewItem = new ListViewItem();
                        DataRow row = objDS.Tables["TrichThuong_ChietKhau"].Rows[i];
                        objListViewItem.Text = row["TENKH"].ToString();
                        objListViewItem.SubItems.Add(string.Format("{0:#,##0;Nothing}", long.Parse(row["TONGTRICHTHUONG"].ToString())).ToString());
                        objListViewItem.SubItems.Add(string.Format("{0:#,##0;Nothing}", long.Parse(row["TONGCHIETKHAU"].ToString())).ToString());
                        objListViewItem.SubItems.Add(string.Format("{0:#,##0;Nothing}", long.Parse(row["CHITRICHTHUONG"].ToString())).ToString());
                        objListViewItem.SubItems.Add(string.Format("{0:#,##0;Nothing}", long.Parse(row["CHICHIETKHAU"].ToString())).ToString());
                        lstvwDanhSachHienThi.Items.Add(objListViewItem);
                    }
                }
                catch (System.Exception ex)
                {
                    throw new Exception(ex.Message, ex.InnerException);
                }
            }
        }

        private void frmTTCK_Load(object sender, EventArgs e)
        {
            LoadDonVi();
        }
    }
}
